Various different kinds of digital to analog converters (DACs) are used to convert digital signals to analog signals. Binary weighted DAC's are used in many applications because they require relatively few components, and are thus relatively small. A binary weighted DAC includes a plurality of current or voltage generating elements. Each element corresponds to a bit of the incoming digital signal. The outputs of the different elements are weighted, based on the significance of their corresponding bits. Elements corresponding to more significant bits are weighted higher than elements corresponding to less significant bits. The sum of all of the outputs is equal to the output analog signal. Weighted binary DAC's are advantageous because they require a relatively small number of elements, and therefore can be implemented in a relatively small chip area. On the other hand, weighted binary DAC's often suffer from poor glitch performance. Also, to insure linear operation, the weighting of each element must be carefully tuned.
Thermometer coded DACs address some of the problems of binary weighted DACs. A thermometer coded DAC first converts binary input into thermometer code. Following Table 1 illustrates a conversion between the binary code and the thermometer code. As an example seven thermometer coded bits are required to represent three binary bits.
TABLE 1DecimalBinaryThermometer code0000000000010010000001201000000113011000011141000001111510100111116110011111171111111111
A thermometer code DAC includes a current or voltage generating element for each possible value of the incoming digital signal. A decoder receives the incoming digital signal and derives a thermometer code. The thermometer code is a digital signal having one bit for each possible value of the incoming digital signal. The number of asserted bits in the thermometer code is proportional to the value of the incoming digital signal. Each bit of the thermometer code is provided to a corresponding element. When a bit is asserted, the corresponding element generates an output (i.e., a current or voltage). Unlike those of binary weighted DAC's, all of the element outputs in a thermometer DAC are equal. The sum of the outputs over all of the elements is the output analog signal. Thermometer code DAC's have glitch properties more favorable than those of binary weighted DAC's and are simpler to calibrate. Because a separate element is required for each allowed value, however, thermometer code DAC's require many components and have a large chip area.
FIG. 1 is a schematic diagram illustrating a current source section of a conventional binary and thermometer-coded hybrid DAC 100. The hybrid DAC 100 has twelve bits. A binary 110 block converts the four least significant bits (LSBs) to analog currents, and a thermometer coded block 120 converts the eight most significant bits (MSBs) to analog currents. These analog currents are summed up to represent a converted analog signal. Specifically, the current source for the binary block 110 comprises four PMOS transistors B[0:3]. If the PMOS transistor B[0] for the LSB has one leg, i.e., M=1, the PMOS transistor B[1], B[2] and B[3] for the upper bits will have 2, 4 and 8 legs, respectively. Referring to FIG. 1, the number of legs is represented by the M number. The more the number of legs the larger the conduction current i[0:3]. Thereby, the PMOS transistor B[1] is twice as large in size and conduction current as the PMOS transistor B[0], i.e., i[1]=2*i[0]. Similarly, i[2]=2*i[1], and i[3]=2*i[2]. Then the binary block 110, when all transistors are on, produces a total amount of current of 15*i[0].
Referring again to FIG. 1, the thermometer coded block 120 has 255 parallel connected PMOS transistors T[1:255] of identical sizes, i.e., all have 16 legs (M=16). Conduction current by any of the PMOS transistor T[1:255] is 16 times of the i[0], i.e., j=16*i[0]. A total current the 12-bit DAC 100 can produce equals then to (255*16+15)*i[0]=4095*i[0]. This means a current source area for the 12-bit DAC 100 occupies 4095 legs of the basic PMOS transistor B[0]. The thermometer coded DAC also requires a binary to thermometer code decoder. While the thermometer coded DAC improves accuracy and conversion speed of a DAC, it also takes up a larger chip area than a pure binary DAC and hence increases cost.
FIG. 2 is a schematic diagram illustrating a current source section of an alternative conventional binary and thermometer-coded hybrid DAC 200. The hybrid DAC 200 has also 12-bits. The 4-bit binary block 110 is the same as in FIG. 1. The eight most-significant-bits are divided into two thermometer coded blocks 220 and 230. The thermometer coded block 220 converts two binary bits, and therefore, has three thermometer coded bits and employing three PMOS transistors S[1:3] having 16 legs, i.e., M=16. Their conduction current k=16*i[0]. The thermometer coded block 230 converts 6 most significant binary bits, and therefore has sixty three thermometer coded bits and employing sixty three PMOS transistors T[1:63]. M=64 for the PMOS transistors T[1:63], therefore, the conduction current of each transistor m=64*i[0]. A total current of the hybrid DAC 200 is (63*64+3*16+15)*i[0]=4095*i[0]. The hybrid DAC 200 occupies the same among of chip area as the hybrid DAC 100. They both have the disadvantage of large chip area and high cost.